#ifndef XSKY_ARG_H
#define XSKY_ARG_H

typedef unsigned char *va_list;
#define va_start(ap, first) { ap = (va_list)&first; }
#define va_arg(ap, type)    *((type * )(ap -= sizeof(type)))
#define va_copy(dest, src)  { dest = src; }
#define va_end(ap)          { ap = (va_list) 0; };

#endif